iT邦幫忙

2021 iThome 鐵人賽

DAY 24
0
DevOps

從煉獄走到天堂的AWS DevOps 工具及應用開發大進擊系列 第 24

給客戶提供優質服務並驗證服務,讓客戶感覺有被重視

  • 分享至 

  • xImage
  •  

服務&驗證

今日會直接講解readinessProbe的部分,以及稍微提到Service這項功能

readinessProbe YAML定義

apiVersion: v1
kind: Pod
metadata:
  name: myappformorereadness
  labels:
    name: myappformorereadness
spec:
  containers:
  - name: myappformorereadness
    image: httpd
    resources:
      limits:
        memory: "512Mi"
        cpu: "512m"
      requests:
        memory: "128Mi"
        cpu: "256m"
    ports:
      - containerPort: 80
    readinessProbe:
      httpGet:
        path: /index.php
        port: 80
      initialDelaySeconds: 5
      periodSeconds: 5
  nodeSelector:
    name:  morepods

在httpd這個image裡,Web Server裡沒有index.php這個檔案,所以會處於NotReady的狀態,而readinessProbe這個功能,會將其他想要access目前這個Pod,都先停止access,直到問題修復解決。這邊會使用Service來access這個Pod做示範,且會用kubectl exec連進目前這個Pod去修改
https://ithelp.ithome.com.tw/upload/images/20211008/20140172UU7KdFjk0O.png
https://ithelp.ithome.com.tw/upload/images/20211008/20140172M0Wt7i8SPF.png

建立一個Service來導流到後方的Pod,而Service會建立一個提供User訪問,可以透過Service直接access到Pod。這個Service會將流量導入到有readinessProbe功能的Pod

apiVersion: v1
kind: Service

metadata:
  name: web-service
  labels:
    app: web-demo

spec:
  selector:
    name: myappformorereadness
  type: NodePort
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 80 
      nodePort: 30001 

https://ithelp.ithome.com.tw/upload/images/20211008/20140172ZhlRZLCoic.png
而access則會訪問失敗,且Service的Endpoints也不會配置Pod IP
https://ithelp.ithome.com.tw/upload/images/20211008/20140172jtjrwt68GS.png
https://ithelp.ithome.com.tw/upload/images/20211008/201401722y3EYa4ypb.png
這邊會去kubectl exec進入Pod去建立一個檔案,當這個Pod從NotReady變成Ready就可以透過Service導流到Pod,且browser也可以訪問,以及Service Endpoints也可以清楚看到Pod IP
https://ithelp.ithome.com.tw/upload/images/20211008/20140172S07PejchR1.png
https://ithelp.ithome.com.tw/upload/images/20211008/20140172OvfKgzSYjL.png
https://ithelp.ithome.com.tw/upload/images/20211008/20140172zeo9Eas2tZ.png
https://ithelp.ithome.com.tw/upload/images/20211008/20140172xFpQq0NfPD.png

Pod Health Check的部分大致就講解到這裡,明日會詳細介紹Service以及Deployment的服務


上一篇
如果Pod應用程式出事情的話,還是做一下健康檢查
下一篇
應用程式快速更新還原,讓服務持續運作不中斷,公司財源滾滾,老闆開心,大家開心
系列文
從煉獄走到天堂的AWS DevOps 工具及應用開發大進擊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
whitefloor
iT邦研究生 2 級 ‧ 2021-10-08 10:20:22

這個terminal layout是用powerlevel9k做的嗎XD

我要留言

立即登入留言